import axios from 'axios' // 引入axios
import config from './base' // 引入配置文件
import qs from 'querystring'

const instance = axios.create({
  baseURL: config.baseUrl.dev,
  timeout: 60000,
  // headers:{// 这里可设置所有的请求头
  //     'Content-Type':'application/x-www-form-urlencoded', //该项建议设置 如果未 POST请求时 数据未做处理时会出现错误，最理想的解决方法就是 直接设置该项
  // },
  // transformRequest(data) {
	// 	return qs.stringify(data)
	// }
})

// 请求拦截器
instance.interceptors.request.use(function (config) {
  // console.log('发请求之前', config)
  return config
}, function (error) {
  // console.log('请求错误', error)
  return Promise.reject(error)
})

// 响应拦截器
instance.interceptors.response.use(function (response) {
  // console.log('得到的响应数据', response.data.data)
  if(!response.data.data){
    return response.data
  }
  return response.data.data
}, function (error) {
  // console.log('响应错误', error)
  return Promise.reject(error)
})

// get请求
export function get (url, data) {
  return new Promise((resolve, reject) => {
    instance
      .get(url, {
        params: data
      })
      .then((response) => {
        resolve(response)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// post请求
export function post (url, data = {}) {
  return new Promise((resolve, reject) => {
    instance.post(url, data).then(
      (response) => {
        resolve(response)
      },
      (err) => {
        reject(err)
      }
    )
  })
}


// axios.get(baseConfig.baseUrl.dev + '/mfolder/download?MFOLDER_ID='+MFOLDER_ID,{
//   responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
// })
// .then(response=>{
//   console.log(response)
//   if(response.data.result=='exception'){
//     this.$message.error("要下载的文件已经没有了!")
//     return
//   }
//   // 提取文件名
//   const fileName = response.headers['content-disposition'].match(
//     /filename=(.*)/
//   )[1]
//   // 将二进制流转为blob
//   const blob = new Blob([response.data], { type: 'application/octet-stream' })
//   if (typeof window.navigator.msSaveBlob !== 'undefined') {
//     // 兼容IE，window.navigator.msSaveBlob：以本地方式保存文件
//     window.navigator.msSaveBlob(blob, decodeURI(fileName))
//   } else {
//   // 创建新的URL并指向File对象或者Blob对象的地址
//   const blobURL = window.URL.createObjectURL(blob)
//   // 创建a标签，用于跳转至下载链接
//   const tempLink = document.createElement('a')
//   tempLink.style.display = 'none'
//   tempLink.href = blobURL
//   console.log(fileName);
//   tempLink.setAttribute('download', decodeURI(fileName.replace(new RegExp('"', 'g'), '')))
//   // 兼容：某些浏览器不支持HTML5的download属性
//   if (typeof tempLink.download === 'undefined') {
//     tempLink.setAttribute('target', '_blank')
//   }
//   // 挂载a标签
//   document.body.appendChild(tempLink)
//   tempLink.click()
//   document.body.removeChild(tempLink)
//   // 释放blob URL地址
//   window.URL.revokeObjectURL(blobURL)
//   }
// })


 
export {
    instance
}